#pragma once
#include "MyChart.h"

class MyDataFlowDiagram : public MyChart
{
public:
	MyDataFlowDiagram(void)
	{
	}

	~MyDataFlowDiagram(void)
	{
	}

	Input * CreateInput()
	{
		return new DFDInput(infor._x, infor._y, infor._width, infor._height, 
							infor._stroke, infor._strokeWidth, infor._fill);
	}

	Output * CreateOutput()
	{
		return new DFDOutput(infor._x, infor._y, infor._width, infor._height, 
							infor._stroke, infor._strokeWidth, infor._fill);
	}

	Start * CreateStart()
	{
		return new DFDStart(infor._x, infor._y, infor._width, infor._height, 
							infor._stroke, infor._strokeWidth, infor._fill);
	}

	End * CreateEnd()
	{
		return new DFDEnd(infor._x, infor._y, infor._width, infor._height, 
							infor._stroke, infor._strokeWidth, infor._fill);
	}

	Condition * CreateCondition()
	{
		return new DFDCondition(infor._x, infor._y, infor._width, infor._height, 
							infor._stroke, infor._strokeWidth, infor._fill);
	}

	Transition * CreateTransition()
	{
		return new DFDTransition(infor._x, infor._y, infor._width, infor._height, 
							infor._stroke, infor._strokeWidth, infor._fill);
	}

	Processer * CreateProcesser()
	{
		return new DFDProcesser(infor._x, infor._y, infor._width, infor._height, 
							infor._stroke, infor._strokeWidth, infor._fill);
	}

	string GetName()
	{
		return "dataFlowDiagram";
	}
};

